<!-- 
变量根据作用域的不同分为两种：全局变量和局部变量
     1.函数内部可以使用全局变量
     2.函数外部不可以使用局部变量
     3.当函数执行完毕，本作用域内的局部变量会销毁

闭包:指有权访问另一个函数作用域中的变量的函数
简单理解就是：一个作用域可以访问另外一个函数内部的局部变量

 -->
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //闭包:我们fun这个函数的作用域访问了另一个函数fn里面的局部变量num
        function fn() {
            var num = 10; //这个被访问的变量所在函数就是一个闭包函数，就是fn
            //闭包是指能访问外部函数的局部变量的函数+这个闭包创建时作用域内的局部变量
            function fun() {
                console.log(num);
            }
            fun();
        }
        fn();

    </script>
</body>

</html>